\frameforsection[t]{
  \renewcommand\currentblocktitle{\hypertarget{5_1}{仲裁器功能概述}}
  \outonlyblock{
    \twocolumns{
      \begin{itemize}
	\item 仲裁器的输入为任意信号a，输出为独热信号b，该独热信号唯一的1所在的位置与输入信号中1的最低有效位位置相同
	\item 例如，4位仲裁器，输入1010或1110,输出为0010
	\item 还可以逆向使用仲裁器，寻找输入中1的最高有效位位置
      \end{itemize}
    }{
      \outfigure{.8}{仲裁器逻辑符号.png}
      \begin{itemize}
	\item 应用场景
	  \begin{itemize}
	    \item 用于仲裁多个信号对于共享资源的请求
	    \item 算术运算电路中对数字格式化时寻找最高有效位1的位置
	  \end{itemize}
      \end{itemize}
    }[c]
  }
}
\renewcommand\currentblocktitle{\hypertarget{5_2}{使用迭代电路构造多位仲裁器的方法}}
\frameforsection[t]{
  \outblock{
    \twocolumns{
      \begin{itemize}
	\zihao{-5}
	\item 许多需要将输入或输出扩展为多位的电路，完全可以利用迭代方法进行设计
	\item 迭代方法基本思想
	  \begin{enumerate}
	    \zihao{-5}
	    \item 先设计1位（或较少位）迭代电路，设计时考虑增加额外输入$I_{i-1}$和输出$O_i$，$I_{i-1}$来自低位，
	      $O_i$送往高位
	    \item 要扩展2位时，只需2个1位迭代电路并行输出，额外输入输出串联（$O_{i-1}$接$I_{i}$）
	    \item 类似的扩展方法可扩展到多位
	  \end{enumerate}
	\item 多位仲裁器的设计：针对第$i$位设计仲裁器（迭代电路）
      \end{itemize}
    }{
      \outfigure{.4}{1位仲裁器逻辑符号.png}
      [1位可迭代仲裁器逻辑符号]
      \only<+>{
	\begin{itemize}
	  \zihao{6}
	  \item $a_i,b_i$:1位仲裁器的输入与输出信号
	  \item $I_{i-1},O_i$:额外输入与输出\\
	    $I_{i-1}$:1(从0位开始到$i-1$位结束，已找到1，0:尚未找到1\\
	    $O_i$:1(从0位开始到$i$位结束，已找到1，0:尚未找到1
	\end{itemize}
      }
      \only<+>{
	\outfigure{.4}{1位仲裁器原理图.png}
	[1位可迭代仲裁器原理图]
      }
    }
  }
}
\frameforsection[t]{
  \outonlyblock{
    \twocolumns{
      \begin{itemize}
	\item 使用1位可迭代仲裁器构造多位仲裁器
	  \begin{itemize}
	    \item n位仲裁器使用n个1为可迭代仲裁器构造
	    \item 最低位仲裁器的$I_{-1}=0$
	    \item 第$i$位仲裁器$O_i$接第$i+1$位仲裁器的$I_i$
	  \end{itemize}
	\item 可迭代电路缺点：随着位数的增加，电路延迟呈线性增长
	\item 克服可迭代电路的缺点：使用超前技术，即，高位的输出通过所有低位输入直接产生，
	  后续章节将对此深入讨论
      \end{itemize}
    }{
      \outfigure{.3}{4位仲裁器的原理图.png}
      [\zihao{6}1位可迭代仲裁器级联构成4位仲裁器的连线图]
    }[c]
  }
}
\frameforsection[t]{
  \renewcommand\currentblocktitle{\hypertarget{5_3}{仲裁器的Verilog结构描述}}
  \outonlyblock{
    \vspace{-2ex}
    \twocolumns{
      \begin{itemize}
	\item LSB优先级最高仲裁器Verilog实现
	  \outfigure{.8}{任意位仲裁器的Verilog实现-结构描述.png}
      \end{itemize}
    }{
      \begin{itemize}
	\item MSB优先级最高仲裁器Verilog实现
	  \outfigure{.8}{最高位优先仲裁器的Verilog实现.png}
      \end{itemize}
    }
  }
  \renewcommand\currentblocktitle{\hypertarget{5_4}{仲裁器的Verilog行为描述}}
  \outonlyblock{
    \hanging{
      \vspace{-2ex}
      \twocolumns{
	\begin{itemize}
	  \item 仲裁器也可以使用行为描述实现
	  \item 例如：可以使用casex语句实现4位仲裁器\\
	    使用casex语句将16行真值表压缩为5行
	\end{itemize}
      }{
	\outfigure{.7}{仲裁器的行为描述.png}
      }[c]
    }
  }
  \renewcommand\currentblocktitle{\hypertarget{5_5}{优先编码器概述及利用仲裁器和编码器实现的原理}}
  \outonlyblock{
    \twocolumns[.7]{
      \begin{itemize}
	\item 优先编码器功能\\
	  输入：位宽为$n$的信号a\\
	  输出：位宽为$\lceil\log_2n\rceil$二进制信号$b$,
	  b是a中从最低有效位开始，1最早出现的位置
	\item 基于仲裁器的优先编码器的实现原理\\
	  将$a$送入仲裁器，产生独热码$c$\\
	  将$c$送入编码器，输出$b$\\
	  此方式适合Verilog结构描述
      \end{itemize}
    }{
      \outfigure{.9}{利用仲裁器与编码器构成优先编码器.png}
    }[c]
  }
  \outonlyblock{
    \twocolumns[.7]{
      \begin{itemize}
	\item 优先编码器功能\\
	  输入：位宽为$n$的信号a\\
	  输出：位宽为$\lceil\log_2n\rceil$二进制信号$b$,
	  b是a中从最低有效位开始，1最早出现的位置
	\item 基于仲裁器的优先编码器的实现原理\\
	  将$a$送入仲裁器，产生独热码$c$\\
	  将$c$送入编码器，输出$b$\\
	  根据上述方式使用Verilog实现，即为优先编码器的结构实现方式\\
	  也可以使用case语句以行为描述方式实现
      \end{itemize}
    }{
      \outfigure{.9}{8-3优先编码器(LSB优先级最高)的结构描述.png}
    }[c]
  }
}
